본문으로 건너뛰기

00 - 통신 시나리오

Travel Rule의 통신 시나리오는 두 가지 범주로 나눌 수 있습니다.

  1. 표준: 송신자와 수신자 VASP 모두 Travel Rule을 준수하는 거래입니다.
  2. 일출: 규제 불일치로 인해 한쪽(수신자)만 Travel Rule을 준수하는 거래입니다.

표준

1. 암호화 통신

송신 VASP - CodeVASP - 수신 VASP 간의 Travel Rule 트래픽은 종단 간 암호화로 보호됩니다. 사용자의 개인정보가 암호화되어 있으므로 CodeVASP는 이 데이터에 접근하거나 처리할 수 없습니다.

데이터 암호화 및 복호화를 위해서는 공개키와 개인키를 사용합니다. 암호화를 위해서는 'VASP List Search' 또는 'Public Key Search' API 엔드포인트를 통해 상대방 VASP의 공개키를 조회하십시오. 복호화를 위해서는 귀하의 개인키를 사용하십시오.

항상 'payload'를 암호화하십시오.

2. VASP 목록 관리

각 VASP는 통신할 수 있는 VASP 목록을 관리해야 합니다.

CodeVASP에 'VASP List Search'를 요청하여 CodeVASP 프로토콜과 호환되는 VASP 목록을 조회할 수 있습니다. 이 목록은 사용자 출고 인터페이스에서 "거래소" 목록으로 표시될 수 있습니다.

CodeVASP 외에 여러 프로토콜과 통합할 때, 동일한 거래소가 목록에 여러 번 나타날 수 있습니다. 중복을 방지하려면 'entityId'와 같은 고유 식별자를 사용하여 목록을 필터링하십시오.

또한 VASP가 실제 입고 및 출고를 지원하는지 여부는 프로토콜 통합뿐만 아니라 정책 기반 통합에도 의존합니다. 정책 기반 통합은 CodeVASP 프로토콜 설정 후 수행되며 관할 구역과 VASP의 내부 정책에 따라 다릅니다. 사용자에게 표시되는 VASP 목록을 관리할 때는 실제 통합 상태를 고려하여 사용자에게 혼란을 주거나 오해를 일으키지 않도록 하십시오.

사용자는 이 목록에서 수신자 VASP를 선택하고 지갑 주소를 입력합니다.

3. 지갑 주소 검증

송신자와 수신자 VASP가 자산 이전을 위해 통신하기 전에 사용자가 입력한 지갑 주소가 선택한 VASP에 속하는지 확인하십시오.

자산 이전 승인 요청 과정에서 사용자의 이름과 생년월일(DoB) 등의 개인정보가 교환됩니다. 사용자가 수신자 VASP를 잘못 선택하여 관계없는 제3자에게 데이터가 유출되는 것을 방지하기 위해 선택한 VASP를 먼저 검증하십시오.

3-1. 유효하지 않은 지갑 주소

응답이 'invalid'인 경우 대상 VASP가 잘못 선택된 것입니다. 'Search VASP by Wallet' API를 사용한 대체 프로세스를 구현할 수 있습니다. 'Search VASP by Wallet'이 'valid'를 반환하면 대상 VASP 정보를 업데이트하고 진행하십시오. 'invalid'인 경우 프로세스를 종료하고 사용자가 처음부터 다시 시작하도록 안내하십시오.

4. 자산 이전 승인

이 단계는 송신자와 수신자 VASP가 Travel Rule을 준수하기 위해 정보를 교환하는 과정입니다. 송신 VASP는 'payload'에 송신 VASP, 송신자, 수신 VASP, 수신자에 대한 세부 정보를 채웁니다. 송신자 정보에는 생년월일(DoB)이 반드시 포함되어야 하며, 수신자 정보는 이를 제외할 수 있습니다. 'payload'를 암호화하고 'Asset Transfer Authorization' API를 통해 전송하십시오.

수신 VASP는 payload를 복호화하고 Travel Rule 데이터를 데이터베이스와 비교합니다. 내부 정책에 따라 수신 VASP는 특정 송신자 세부 정보(예: 이름, 지갑 주소)의 존재를 확인할 수 있습니다. 송신자 정보가 CodeVASP 가이드라인을 따르는지 확인하십시오.

4-1. 승인 거부

응답이 'denied'인 경우 'reasonType'과 'reasonMsg'를 확인하십시오. 사유에 따라 재시도할 수 있습니다. 예를 들어 'INPUT_NAME_MISMATCHED'의 경우 성/이름 순서를 바꿔서 재시도할 수 있습니다. 재시도에 적합하지 않은 사유의 경우 프로세스를 종료하고 각 사유에 맞는 단계를 진행하십시오.

5. 온체인 거래

자산 이전 승인이 승인되면 송신 VASP는 온체인 거래를 실행합니다. 수신 VASP는 거래를 모니터링하고 완료를 감지합니다.

5-1. 거래 실패

블록체인 거래가 실패하면 블록체인 실행을 재시도할 수 있습니다.

6. 자산 이전 결과 보고

블록체인 거래가 완료된 후 송신 VASP는 txid를 수신 VASP에 전송하여 자산 이전 성공을 확인합니다. 수신 VASP는 'transferId'를 사용하여 Travel Rule 데이터와 txid를 연결하고 저장합니다. 일부 수신 VASP는 txid 없이 입고를 처리하지 않을 수 있으므로 반드시 전송해야 합니다.

프로세스가 성공적으로 완료되면 두 VASP 모두 Travel Rule 데이터와 txid를 저장하고, 수신 VASP는 사용자의 잔액을 업데이트합니다.

6-1. 전달되지 않은 txid

수신 VASP가 지정된 기간 후에도 txid를 받지 못하면 'Transaction Status Search' API를 사용하여 거래 상태를 조회할 수 있습니다.

6-2. Txid 보고 후 거래 실패

드문 경우지만 txid가 보고된 후 블록체인 거래가 실패하거나 사용자가 이전을 즉시 취소할 수 있습니다. 이런 경우 송신 VASP는 'Finish Transfer' API를 사용하여 수신 VASP에 알려야 합니다.


일출

1. 암호화 통신

송신 VASP - CodeVASP - 수신 VASP 간의 Travel Rule 트래픽은 종단 간 암호화로 보호됩니다. 사용자의 개인정보가 암호화되어 있으므로 CodeVASP는 이 데이터에 접근하거나 처리할 수 없습니다.

데이터 암호화 및 복호화를 위해서는 공개키와 개인키를 사용합니다. 암호화를 위해서는 'VASP List Search' 또는 'Public Key Search' API 엔드포인트를 통해 상대방 VASP의 공개키를 조회하십시오. 복호화를 위해서는 귀하의 개인키를 사용하십시오.

항상 'payload'를 암호화하십시오.

2. 익명 거래

익명 거래는 사전 검증이나 승인 없이 자산이 수신되는 경우로, 종종 관할 구역 간 규제 요구사항이 다르기 때문에 발생합니다. 수신 VASP 입장에서는 송신 VASP나 사용자를 알지 못하는 상태에서 자산이 사용자의 지갑에 도착하는 것을 의미합니다.

이러한 거래가 발생하면 수신 VASP는 지갑 주소를 기반으로 사용자 정보를 조회하고 사용자 잔액 업데이트를 보류합니다.

3. VASP 검색

규정을 준수하고 익명 거래를 처리하기 위해 수신 VASP는 송신 VASP를 식별해야 합니다. CodeVASP에 'Search VASP by TXID Request' 요청을 전송하면 네트워크에서 일치하는 이전 기록을 조회합니다.

이 요청은 비동기식이므로 'Search VASP by TXID Result' API를 호출하여 결과를 조회하십시오. 'valid' 응답은 성공적인 검색을 나타내므로 식별된 VASP를 대상으로 진행할 수 있습니다.

3-1. Callback URL

결과 API 호출이 불편하다면 'Search VASP by TXID Request' 요청에 'callbackUrl'을 포함하십시오. CodeVASP가 완료 시 해당 URL로 결과를 전송합니다. URL이 CodeVASP의 IP 접근을 허용하는지 확인하십시오.

3-2. 유효하지 않은 결과

결과가 유효하지 않으면 고객에게 설명을 요청하는 등 내부 정책을 따르십시오.

4. 데이터 요청

송신 VASP가 식별되면 수신 VASP가 사용자 데이터 교환을 시작합니다. 'payload'에 'Beneficiary'와 'BeneficiaryVASP' 정보를 채우고 암호화한 후 요청을 전송합니다.

송신 VASP는 'payload'를 복호화하고 txid를 기반으로 이전 및 사용자 정보를 조회하며, 'Originator'와 'OriginatingVASP' 세부 정보를 추가하고 payload를 암호화하여 응답합니다.

수신 VASP는 수신한 'payload'를 복호화합니다.

5. 데이터 저장

송신 및 수신 VASP 모두 자산 이전 및 Travel Rule 데이터를 저장합니다. 수신 VASP는 사용자의 잔액을 업데이트합니다. 더 엄격한 규제를 받는 VASP가 덜 규제된 VASP에 조회하는 이 과정을 통해 Travel Rule 준수가 보장됩니다.